package com.net.UDP;

import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException;

/**
 * 客户端
 *1.创建服务器+端口
 * 2、准备数据
 * 3、打包（发送的地点及端口）
 *4、发送
 * 5、释放
 * @author jiangbang
 * @date 2016/7/22
 */
public class MyClient {

    public static void main(String[] args) throws IOException {
        //1.创建客户器+端口
        DatagramSocket client = new DatagramSocket(6666);
        //2、准备数据
//        String msg = "udp编程";
//        byte[] data = msg.getBytes();
          double num = 89.12;
          byte[] data = convert(num);
        //3、打包（发送的地点及端口）
        DatagramPacket packet = new DatagramPacket(data,data.length,new InetSocketAddress("localhost",8888));
        //4.发送
        client.send(packet);
        //释放
        client.close();
    }

    /**
     * 字节数据  数据源+data输出流
     * @param num
     * @return
     */
    public static byte[] convert(double num) throws IOException {
        byte[] data = null;
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        DataOutputStream dos = new DataOutputStream(bos);
        dos.writeDouble(num);
        dos.flush();
        //获取数据
        data = bos.toByteArray();
        dos.close();
        return data;
    }

}
